package com.ruoyi.worker.mapper;

import com.ruoyi.worker.domain.Company;
import com.ruoyi.worker.domain.TermWorker;
import com.ruoyi.worker.domain.TimeShift;
import com.ruoyi.worker.domain.WorkerInfos;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

import java.util.List;
import java.util.Map;

/**
 * @ClassName WorkerInfoMapper
 * @Description TODO
 * @Author zhanglei
 * Date 2021/8/24 14:35
 * @Version 1.0
 **/
@Mapper
public interface WorkerInfoMapper {

    /**
     * @Description : 员工信息查询
     * @Author : leizhang
     * @Date 12:23 上午 2021/8/25
     * @param workerInfos
     * @return java.util.List<com.ruoyi.worker.domain.WorkerInfos>
     **/
    public List<WorkerInfos> selectWorkerInfoList( WorkerInfos workerInfos);
    /**
     * @Description : 供应商信息查询
     * @Author : leizhang
     * @Date 12:23 上午 2021/8/25
     * @param requestParam
     * @return java.util.List<com.ruoyi.worker.domain.Company>
     **/
    public List<Company> selectCompanyInfos(@Param("requestParam") Map<String,Object> requestParam);
    /**
     * @Description : 班次信息查询
     * @Author : leizhang
     * @Date 12:23 上午 2021/8/25
     * @param requestParam
     * @return java.util.List<com.ruoyi.worker.domain.Company>
     **/
    public List<TimeShift> selectTimeShiftInfos(@Param("requestParam") Map<String,Object> requestParam);

    int updateRoleStatus(@Param("requestParam") Map<String, Object> requestParam);

    int updateWorkStatus(@Param("orderCode") String orderCode,@Param("status")String status);

    String  getImg(int workerId);

    /**
     * 获取临时工信息
     * @author 刘松山
     * @date 2021/9/12 17:26
     * @param workerInfos
     * @return java.util.List<com.ruoyi.worker.domain.WorkerInfos>
     */
    List<WorkerInfos> listWorkerInfo(WorkerInfos workerInfos);

    /**
     * 获取临时工详情
     * @author 刘松山
     * @date 2021/9/12 18:13
     * @param id
     * @return com.ruoyi.worker.domain.WorkerInfos
     */
    WorkerInfos getWorker(Long id);

    /**
     * 修改临时工
     * @author 刘松山
     * @date 2021/9/12 18:17
     * @param workerInfos
     * @return int
     */
    int modifyWorkerInfo(WorkerInfos workerInfos);

    /**
     * 查询身份证号是否重复
     * @author 刘松山
     * @date 2021/9/13 9:27
     * @return int
     */
    int countWorkerInfoByIdCard(WorkerInfos workerInfos);
    /**
     * 批量保存临时工
     * @author 刘松山
     * @date 2021/9/13 13:22
     * @param list
     * @return int
     */
    int addBatchWorkerInfo(List<WorkerInfos> list);
    /**
     * 删除临时工
     * @author 刘松山
     * @date 2021/9/27 9:44
     * @param id
     * @return int
     */
    int  delWorkerInfo(long id);
    /**
     * 删除图片路径
     * @author 刘松山
     * @date 2021/9/27 10:56
     * @param id
     * @return int
     */
    int  delWorkerImg(long id);
    /**
     * 获取临时工文件列表
     * @author 刘松山
     * @date 2021/9/27 11:07
     * @param id 
     * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     */
    List<Map<String,Object>> ListWorkerFileList(long id);
    /**
     * 删除文件
     * @author 刘松山
     * @date 2021/9/27 11:04
     * @param id 
     * @return int
     */
    int  delWorkerFile(long id);

    /**
     * 更新临时工黑名单状态
     * @param id:员工id
     * @param status:状态 {@link WorkerInfos#status}
     * @return int
     * @author Hush.
     * @since 2021/12/15 15:13
     */
    @Update("update worker_info set status =#{status} where id = #{id}")
    int updateWorkerStatus(@Param("id") Long id,@Param("status") Integer status);
}
